/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * MosaicControl.java * * Created on 2010-01-15, 01:51:51 */ package webcamstudio.sources.effects.controls; import java.io.IOException; import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.DefaultComboBoxModel; import webcamstudio.WebcamStudio; import webcamstudio.sources.effects.Shapes; /** * * @author pballeux (modified by karl) */ public class ShapesControl extends javax.swing.JPanel { Shapes effect = null; private Properties shapes = new Properties(); /** Creates new form MosaicControl * @param effect */ public ShapesControl(Shapes effect) { initComponents(); this.effect=effect; initShapes(); } @SuppressWarnings("unchecked") private void initShapes() { try { shapes.load(getClass().getResourceAsStream("/webcamstudio/resources/shapes/Shapes.properties")); DefaultComboBoxModel model = new DefaultComboBoxModel(); for (Object o : shapes.keySet()) { model.addElement(o); } cboShapes.setModel(model); } catch (IOException ex) { Logger.getLogger(WebcamStudio.class.getName()).log(Level.SEVERE, null, ex); } String shapeL = effect.getShape(); cboShapes.setSelectedItem(shapeL); tglReverse.setSelected(effect.getReverse()); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { cboShapes = new javax.swing.JComboBox(); lblfaces = new javax.swing.JLabel(); tglReverse = new javax.swing.JToggleButton(); setPreferredSize(new java.awt.Dimension(250, 98)); cboShapes.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); cboShapes.setName("cboShapes"); // NOI18N cboShapes.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cboShapesActionPerformed(evt); } }); lblfaces.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lblfaces.setText("Overlays"); lblfaces.setName("lblfaces"); // NOI18N tglReverse.setIcon(new javax.swing.ImageIcon(getClass().getResource("/webcamstudio/resources/tango/view-refresh.png"))); // NOI18N tglReverse.setText("Reverse"); tglReverse.setName("tglReverse"); // NOI18N tglReverse.setPreferredSize(new java.awt.Dimension(95, 30)); tglReverse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { tglReverseActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblfaces, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(cboShapes, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(tglReverse, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(6, 6, 6) .addComponent(lblfaces) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(cboShapes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(tglReverse, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(6, 6, 6)) ); }// </editor-fold>//GEN-END:initComponents private void cboShapesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cboShapesActionPerformed // System.out.println("Shape: "+cboShapes.getSelectedItem().toString()); effect.setShape(cboShapes.getSelectedItem().toString()); }//GEN-LAST:event_cboShapesActionPerformed private void tglReverseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tglReverseActionPerformed if (tglReverse.isSelected()){ effect.setReverse(true); } else { effect.setReverse(false); } }//GEN-LAST:event_tglReverseActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JComboBox cboShapes; private javax.swing.JLabel lblfaces; private javax.swing.JToggleButton tglReverse; // End of variables declaration//GEN-END:variables }